const { toUrl,globalData } = getApp();
import { request, baseUrl } from "@/utils/request";
Page({
  toUrl,
  data: {
    selected: false,
    wxcode: "",
    phonecode: "",
    isPhoneLogin: true,
    globalData
  },
  // getPhoneNumber: function(e) {
  //     console.log(e.detail.errMsg)
  //     console.log(e.detail.iv)
  //     console.log(e.detail.encryptedData)
  //    // encryptedData包括敏感数据在内的完整用户信息的加密数据，详细见加密数据解密算法
  //    // iv 加密算法的初始向量，详细见加密数据解密算法
  //    // 将这两个数据发送给后台小哥哥，后台通过微信提供的解密算法，进行解密获取我们想要的数据
  // } ,
  getInfo(phoneCode) {
    if (!this.data.selected) {
      return wx.showToast({
        title: "请同意协议",
        icon: "error",
      });
    }
    wx.showLoading();
    wx.login({
      success: (res) => {
        wx.checkSession({
          success: () => {
            request("user/wxauthorize", { data: { code: res.code } }).then(
              ({ data }) => {
                wx.hideLoading()

                console.log(data);
                getApp().globalData.userInfo = data;
                if (data.is_mobile == 1) {
                  wx.setStorage({ key: "_userInfo", data });
                  wx.redirectTo({
                    url: "/pages/home/home",
                  });
                  return;
                }
                if (phoneCode) {
                  request("user/getwxphone", {
                    data: { code: phoneCode, token: data.token },
                  }).then((res) => {
                    console.log(res);
                    if (res.errcode == 1) {
                      wx.setStorage({ key: "_userInfo", data });
                      wx.hideLoading();
                      wx.redirectTo({
                        url: "/pages/home/home",
                      });
                    }
                  });
                }
              }
            ).finally(() => {
              request("user/getuserinfo").then((res) => {
                if (res.errcode == 1) {
                  console.log('用户信息');
                  getApp().globalData.baseInfo = res.data
                }
              });
          })
          },
          fail: () => {
            wx.showToast({
              title: "授权失败",
              icon: "error",
            });
          },
        });
      },
    });
  },
  getPhoneNumber(e) {
    if (e.detail.errMsg !== "getPhoneNumber:ok") {
      return console.log("拒绝了");
    } else {
      console.log("接受了");
    }
    wx.showLoading({ title: "加载中" });

    wx.checkSession({
      success: (res) => {
        let { iv, encryptedData, code } = e.detail;
        this.setData({
          phonecode: code,
        });
        console.log(iv, encryptedData, e.detail);
        console.log(res);
        this.getInfo(code);

        // if (code) {
        //   request("user/getwxphone", {
        //     data: { code: code },
        //   }).then((res) => {
        //     console.log(res);
        //     if (res.errcode == 1) {
        //       this.getInfo();
        //       wx.hideLoading();
        //     }
        //   });
        // }
      },
    });
  },
  selected() {
    this.setData({ selected: !this.data.selected });
  },
  wxLogin() {
    wx.login({
      success: (res) => {
        this.setData({ wxcode: res.code });
        this.verifyPhone();
      },
    });
  },
  //验证手机号是否授权，并决定不再调用
  verifyPhone() {
    request("user/wxauthorize", {
      data: { code: this.data.wxcode },
    }).then((res) => {
      console.log(res);
      if (res.errcode == 1) {
        if (res.data.is_mobile == 1) {
          this.setData({
            isPhoneLogin: false,
          });
        }
      }
    });
  },
  onLoad(options) {
    this.wxLogin();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
});
